Imagina que tengo la siguiente configuración en appsettings.json:
{ "OtherSettings" : { "id" : 3 }, "Needed" : { "Database" : { "ConnectionString" : "abc123" }, "Interval" : { "is_active" = true, "in_seconds" = "15" } } } Para la sección Base de datos, tengo una clase que es DatabaseSettings con la propiedad ConnectionString .
Y para la sección Intervalo, tengo la clase IntervalSettings .
Si me gustaría vincular todas esas configuraciones dentro de Needed a una clase NeededSettings , ¿qué propiedad necesito y cómo vincularía las opciones para la clase de base de datos con Inyección de dependencia? Actualmente estoy haciendo esto con:
services.Configure<DatabaseSettings>Configuration.GetSection("Needed:Database")); services.Configure<IntervalSettings>(Configuration.GetSection("Needed:Interval")); Así que estoy haciendo esto con 2 líneas, pero quiero hacerlo en 1 línea y vincular todas las configuraciones a la nueva clase NeededSettings
Simplemente elimine estas dos líneas y agregue:
services.Configure<NeededSettings>(Configuration.GetSection("Needed")); y use NeededSettings en todos los lugares donde usó DatabaseSettings e IntervalSetttings .
Editar:
public class NeededSettings{ public DatabaseSettings Database {get;set;} public IntervalSettings Interval {get;set;} }